Service desk data transfer interface

ABSTRACT

A system and method for managing data transfer operations includes at least one data server including data stored in a plurality of data fields, at least one transaction server operatively coupled to the at least one data server and configured to provide at least one customizable business rule and a customer relationship application, an information server operatively coupled to the at least one transaction server, and at least one workstation operatively coupled to the information server. The least one workstation includes local memory accessible to the customer relationship application and configured to provide web communication and presentation services to a user of the at least one workstation that are deployed on the information server. The at least one customizable business rule specifies a mapping between the plurality of data fields and the local memory, the mapping having been provided by the user interacting with the web communication and presentation services.

FIELD OF THE INVENTION

The present invention relates to data import and export management, andmore particularly to automated user-customizable generation of serviceapplications that manage data import and export operations.

BACKGROUND OF THE INVENTION

Distributed computer systems in general are well known. A typical systemcomprises a computer and database at a local location, and a computerand database at a remote location. Further, each computer might comprisea CPU, and RAM and allow various software programs to be used. Softwareprograms which might be used include, among others, databases, wordprocessors, and spreadsheets. These software programs can be referred toas user applications.

Databases are also well known and will not be described in detail.Briefly, a database is a group of related information. Typically therelated information is organized into records or rows. For simplicity,the term row is used hereinafter. Each row may include one or manyfields, each field containing information content in a particular dataformat. The term information content, as used herein, refers to rawinformation which is not in any format, whereas the term data refer toinformation in a particular format, such as, ASCII text. Informationcontent is entered into the fields of a database using a form. A formdefines parameters for each field in a particular row in the database,for instance, whether the field accepts numbers, letters or both. Adatabase may contain rows originating from a number of different forms.A database has a natural representation for its data which may bedifferent for different databases. In a relational database, forinstance, the natural representation for the data is a table with eachrow of the table representing a different row of the database and eachcolumn a different field of the row. In other databases, the contentsmay be examined in a number of different “views.” A view sorts the rowswithin a database based on the information content of a particular fieldwithin the form with which the row was created. Further, a view maypresent fields from more than one form and need not present all fieldswithin a form.

It is often desired to access information content within multiple userapplications. The term access, as used herein, refers to operations suchas moving and copying information content between user applications. Forinstance, it may be desired to move or copy the information content of afirst field of a row of a database, to a second field of a row within areceiving database. Typically, moving and copying operations (move/copyoperations) require either opening the database which is to receive theinformation content and manually entering the desired information intothe desired field, or opening both databases and performing a move/copyoperation in a known manner.

Both of these approaches have drawbacks. Manual entry, among otherthings, is time consuming, and susceptible to human error. Performing amove/copy requires the user to enter into and navigate within theapplication from which the information is to be obtained. For largedatabases this can be quite time consuming. Moreover, in some cases,move/copy operations between nonadjacent fields or rows can requiremultiple move/copy operations. Further, databases may not be compatible.

Thus what is needed is a flexible tool that can integrate complexsystems. What is also needed is a way to create and install a serviceapplication for managing data transfer operations such that theapplication can be run as a system service that can be scheduled or runperiodically, not just as a normal program.

DISCLOSURE OF THE INVENTION

A system, method and computer program product for importing data in anetwork-based customer relationship application is provided. First, datato be imported to a customer relationship application utilizing anetwork is identified. A set of predetermined rules associated with thecustomer relationship application are identified. The data is importedto the customer relationship application utilizing the network inaccordance with the set of predetermined rules. The data is stored inmemory accessible to the customer relationship application. The fieldsin which the data is stored in the memory are customizable by a user.Note that the customer relationship application may include any type ofapplication used to perform any customer-related task. One illustrativetype of customer relationship application is a service desk application.

In one embodiment, an application for importing the data is generatedbased on the rules. As an option, the application can be scheduledand/or run periodically at user-defined intervals. In anotherembodiment, the predetermined rules are specified based on userinteraction with an application creation program. In a furtherembodiment, the rules relate to referential integrity, required fields,and/or automatic sequence numbering. In yet another embodiment, the datais transformed. Preferably, the data is transformed based onuser-created scripting functions.

A system, method and computer program product for exporting data in anetwork-based customer relationship application is also provided. Datato be exported from a customer relationship application utilizing anetwork is identified. The data is stored in memory accessible to thecustomer relationship application, in fields which are customizable by auser. A set of predetermined rules associated with the customerrelationship application is identified. The data is exported from thecustomer relationship application utilizing the network in accordancewith the set of predetermined rules.

In one embodiment, a service application for exporting the data isgenerated based on the rules. The service application can be runperiodically at user-defined intervals. According to another embodiment,the predetermined rules are specified based on user interaction with aservice application creation program.

In a further embodiment, the data can be transformed. The transformationcan be based on user-created scripting functions. Exemplary rules relateto referential integrity, required fields, and/or automatic sequencenumbering.

A system, method and computer program product are also provided forgenerating an application for managing network data transfer operations.A screen for receiving a designation of a type of application to becreated is displayed. A screen for receiving a designation of an originof the data is also displayed. A screen for receiving a designation of adestination for the data is further displayed. A mapping of fieldsbetween the origin of the data and the destination of the data isgenerated. The application is created. A screen is also displayed thatallows a user to manipulate the mapping. A data transfer operation isperformed upon execution of the application.

In one embodiment, an interval of time that elapses between automaticexecution of the application can be specified. According to anotherembodiment, the type of application can be an SQL/ODBC importapplication, an SQL/ODBC export application, a file import application,a file export application, an electronic mail import application, and/oran electronic mail export application.

In another embodiment, a name for the application can be specified.Login information can be received for logging in to the origin and/ordestination of the data. Information about the data transfer can also begathered for logging thereof.

In a further embodiment, user manipulation of the mapping includesaltering the mapping of fields of the destination of the data to thefields from the origin of the data. In one embodiment, the alteringincludes providing the names of the fields from the origin of the datawhich correspond to selected fields of the destination of the data. Inanother embodiment, the altering includes providing the names of thefields from the destination of the data which correspond to selectedfields of the origin of the data. The altering can also includespecifying the fields of the data to be transferred.

In a further embodiment, the mapping of the fields includes customfields added at a client site. In yet another embodiment, scriptingfunctions are received for allowing such things as data transformation.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a representation of a customer relationship applicationarchitecture according to one embodiment.

FIG. 2 shows a representative hardware environment that may beassociated with the workstations of FIG. 1, in accordance with oneembodiment.

FIG. 3 is a flow diagram of a process for importing data in anetwork-based customer relationship application according to oneembodiment.

FIG. 4 is a flowchart of a process for exporting data in a network-basedcustomer relationship application according to one embodiment.

FIG. 5 is an illustration of a table of data of an external databaseaccording to an embodiment.

FIG. 6 is a depiction of a screen of an API application wizard accordingto an embodiment.

FIG. 7 is an illustration of a login data screen of an API applicationwizard according to an embodiment.

FIG. 8 is an illustration of a module selection screen of an APIapplication wizard according to an embodiment.

FIG. 9 is a depiction of a logging options screen of an API applicationwizard according to one embodiment.

FIG. 10 is an illustration of a finish screen of an API applicationwizard according to an embodiment.

FIG. 11 is an illustration of an application option screen according toone embodiment.

FIG. 12 is a depiction of a mapping screen according to one embodiment.

FIG. 13 illustrates the mapping screen of FIG. 12 upon user manipulationaccording to an embodiment.

FIG. 14 depicts an SQL import options screen accessible from theapplication options screen of FIG. 11.

FIG. 15 illustrates a services application selection screen according toone embodiment.

FIG. 16 depicts the table of the external database of FIG. 5 after anapplication created using the wizard of FIGS. 6-10 has exported datatherefrom, according to an embodiment.

FIG. 17 illustrates a portion of a table of a local database after anapplication created using the wizard of FIGS. 6-10 has imported datathereto, according to one embodiment.

DESCRIPTION OF THE PREFERRED EMBODIMENTS

FIG. 1 depicts an illustrative customer relationship applicationarchitecture 100 according to one embodiment. As shown, the architecture100 includes a database tier 102, which includes one or more dataservers, such as one or more Structured Query Language (SQL) servers 104and one or more Relational Database Management Systems (RDBMS) 106. Thedatabase tier 102 is in communication with a business logic tier 108that delivers customizable business rules and application executables,preferably as a set of Component Object Model (COM) objects that aremanaged by Microsoft Transaction Server (MTS). A presentation/clienttier 110 is also in communication with the business logic tier 108. Thepresentation/client tier 110 provides web communication and presentationservices, which can consist of Active Server Pages that deploy onMicrosoft's Internet Information Server 112 for example. Severalworkstations 114 are coupled to the Information Server 112. Note thatthis architecture is provided by way of example only and represents onlyone possible configuration of the architecture 100. One skilled in theart will appreciate that the various components described above may beremoved, interchanged and/or added to without straying from the scopeand spirit of the various possible embodiments enabled herein. Further,it should be noted that the customer relationship application mayinclude any type of application used to perform any customer-relatedtask. For example, the customer relationship application can be aservice desk application, a customer contact application, etc.

FIG. 2 shows a representative hardware environment associated with theworkstations 114 of FIG. 1, in accordance with one embodiment. Suchfigure illustrates a typical hardware configuration of the workstationhaving a central processing unit 210, such as a microprocessor, and anumber of other units interconnected via a system bus 212.

The workstation shown in FIG. 2 includes a Random Access Memory (RAM)214, Read Only Memory (ROM) 216, an I/O adapter 218 for connectingperipheral devices such as disk storage units 220 to the bus 212, a userinterface adapter 222 for connecting a keyboard 224, a mouse 226, aspeaker 228, a microphone 232, and/or other user interface devices suchas a touch screen and a digital camera (not shown) to the bus 212,communication adapter 234 for connecting the workstation to acommunication network 235 (e.g., a data processing network) and adisplay adapter 236 for connecting the bus 212 to a display device 238.

The workstation may have resident thereon an operating system such asthe Microsoft Windows® NT or Windows® 2000 Operating System (OS), theIBM OS/2 operating system, the MAC OS, or UNIX operating system. It willbe appreciated that a preferred embodiment may also be implemented onplatforms and operating systems other than those mentioned. A preferredembodiment may be written using JAVA, C, and/or C++ language, or otherprogramming languages, along with an object oriented programmingmethodology. Object oriented programming (OOP) has become increasinglyused to develop complex applications.

FIG. 3 is a flow diagram of a process 300 for importing data in anetwork-based customer relationship application. In operation 302, datato be imported to a customer relationship application utilizing anetwork is identified. A set of predetermined rules associated with thecustomer relationship application are identified in operation 304. Inoperation 306, the data is imported to the customer relationshipapplication utilizing the network in accordance with the set ofpredetermined rules. The data is stored in memory accessible to thecustomer relationship application in operation 308. Note that “memory”as used in this document can include persistent and/or non-persistentstorage, such as RAM, a hard drive, tape media, etc. The fields in whichthe data is stored in the memory can be customized by a user.

FIG. 4 is a flowchart of a process 400 for exporting data in anetwork-based customer relationship application. In operation 402, datato be exported from a customer relationship application utilizing anetwork is identified. The data has been stored in memory accessible tothe customer relationship application, in fields which areuser-customizable. In operation 404, a set of predetermined rulesassociated with the customer relationship application is identified. Inoperation 406, the data is exported from the customer relationshipapplication utilizing the network in accordance with the set ofpredetermined rules.

The predetermined rules can be specified based on user interaction withan application creation program, and can further include rules forreferential integrity, required fields, and/or automatic sequencenumbering. In yet another embodiment, the data is transformed.Preferably, the data is transformed based on user-created scriptingfunctions.

An embodiment will now be presented by way of example. The example willdescribe an API wizard which receives basic information required tocreate an API service application that manages a Structured QueryLanguage (SQL) import operation for importing data from an externaldatabase (the origin of the data) into a Clients field of a localdatabase of a customer relationship application (the destination of thedata).

The wizard maintains the use of existing logic and business rules in thecustomer relationship application, ensuring correct data imports from avariety of external data sources. The wizard is also used to import datainto the customer relationship application in a manner that follows allthe “rules” of the customer relationship application environment.Referential integrity, required fields, and/or automatic sequencenumbering can be enforced through the applications created using thewizard. Thus, the wizard makes it possible to bridge legacy and othersystems to the customer relationship application.

The example will further show how the application can be installed inthe customer relationship application as a Windows® NT service at theend of the wizard's run, but note that the application may function as astandalone application, a Windows® 2000 service, or as any other type ofapplication.

This example shows only one area in which an embodiment may be used. Forexample, creation of an application to export data from the customerrelationship application to an external database follows a similarprocess, as would be understood by one skilled in the art. Thus, variousembodiments can import from or export to SQL/ODBC data sources, textfiles, electronic mail, etc. One skilled in the art will understand howto make and use various embodiments for any area by simple variance fromthe following description.

FIG. 5 depicts a screen 500 showing a table 502 of the contents of theexternal database, including client information that will be inserted inthe local database. Note that the external and local databases may beany type of database, including a Microsoft© Access database.

Referring again to FIG. 5, the fields of the external database include aUserID field 504 that will be mapped to the client ID field in the localdatabase. Other fields include UserFirstName 506, UserLastName 508,UserCompany 510, and UserDepartment 512, which will be mapped to theFirst Name, Last Name, Company ID, and Department ID fields of the localdatabase, respectively (see FIG. 13 and the related discussion). Thevalues of each field in the external database are also shown.

The Status field 514 is set to 0, indicating that the particular row ofdata is ready to be imported into the local database. When the importfunction is successful, the value will change to 1 (as shown in FIG.16).

In use, the API wizard is started. The first screen shown is a basicinformation screen 600. See FIG. 6. The name of the application beingcreated is entered in a Service Executable field 602. A ServiceDescription field 604 is provided, into which a description of theapplication can be entered. The directory in which the applicationexecutable is saved is specified in the Service Directory field 606. Thetype of application is specified in the Application Type field 608. Inthis example, the application is an SQL import application. Other typesof applications are described above. A service interval can be enteredin the Service Interval field 610, indicating an amount of time thatwill elapse between executions of the application, such as every minute,every hour, once per day, etc. Here, the service interval is set at 10seconds, meaning that 10 seconds will elapse between executions of theapplication. The Next button is selected.

FIG. 7 illustrates a login data screen 700. Here, the user enters logininformation in the User and Password fields 702, 704 for logging in tothe customer relationship application and/or external database (ifrequired). The Next button is selected.

At this point, the wizard loads customer relationship applicationmetadata objects to further refine options that can be set for thisapplication. Once the objects are loaded, the customer relationshipapplication module or “view” that is being imported to (or exportedfrom) can be selected from a Master Module drop-down menu 802 of themodule selection screen 800 shown in FIG. 8. Submodules of the mastermodule may further be specified by selecting them from a Detail Moduledrop-down menu 804. Once the application is installed, the user willhave the opportunity to define the mapping of fields between the importtable in Microsoft® Access and the module in the customer relationshipapplication, as described below.

With continued reference to FIG. 8, the Clients module is selected fromthe Master Module menu 802. A group can be selected from the Groupdrop-down menu 806. In this example, a default group is selected. Forthose sites using segregated data, the selection of the group canprovide an important mechanism in determining how the data is createdwithin the customer relationship application. The Next button isselected.

FIG. 9 depicts a logging options screen 900. Selectable options includewhether to log data transfer information to a file, whether to start anew log file and when to do so, how long to keep log files, whether tosave logging information to a Windows® NT event log, whether to send anemail to a user upon encountering an error, and whether to logsuccessful operation. A level of debugging can also be set. Ifinformation is to be logged to a file, the path of the log file isentered in the Log file path field 902. If error messages are to beelectronically mailed, the recipient's electronic mail address isspecified in the EMail address field 904. In this example, successfuloperations are logged to the Windows® NT event log. The Next button isselected.

FIG. 10 illustrates a finish screen 1000 of the wizard. Upon selectionof the Finish button 1002, the application is created.

Upon creation of the application, an application option screen 1100 isdisplayed, as shown in FIG. 11, which summarizes the information enteredin screens 6, 7, 8, and 9. The application options screen 1100 alsoallows a user to add additional information and/or modifyalready-entered information for this application.

By default, the wizard creates a mapping that includes all of theavailable fields within the local database, including custom fieldsadded at a client site. FIG. 12 depicts a mapping screen 1200 whichlists the fields 1202 of the local database as determined during thedata mapping created by the wizard. The mapping screen 1200 is displayedupon selection of the Edit button 1102 corresponding to the datadefinition file field of the application options screen 1100. See FIG.11.

Referring again to FIG. 12, the fields that will not be imported by theapplication are removed from the list in the mapping screen 1200. Asshown in FIG. 13, the actual field names 1302 from the external SQLdatabase are also inserted in place of the default mapping values foreach of the corresponding fields of the local database.

FIG. 14 depicts an SQL import options screen 1400 displayed uponselection of the Options button 1104 of the application options screen1100 shown in FIG. 11. The SQL import options screen 1400 allows theuser to define the source options for the SQL import. An ODBC datasource for the Access table of the remote database, listed in the SQLODBC field 1402, has already been defined in the Service Executablefield 602 of the basic information screen 600, shown in FIG. 6.

With continued reference to FIG. 14, the rows to import are designatedby selecting the desired option from the Select rows to import drop-downmenu 1404. In this example, the column values have been specified in themapping screen 1200, and so the Column value is selected from the menu1404. Another option of the menu includes importing all rows.

The Status field of the external database is designated in the Importcolumn for unprocessed field 1406. A designation that the rows to beimported have a status of 0 is entered in the Import column unprocessedvalue field 1408. The action on completion of a data transfer isselected in the Action on completion drop-down menu 1410. The Statusfield is designated in the Import column for completed 1412. By entering1 in the Import column completed value field 1414, the application isinstructed to change the value of the Status field for each row of theexternal database to 1 upon successful transfer of the data. Thus, oncethe import process is complete, the fields in the Status field 514 ofthe table 502 of the external database (FIG. 5) will change to 1,indicating that the data from each row has been imported into the localdatabase.

A rule for the action to be taken if an error occurs can be specified byselecting an option from the Action on error drop-down menu 1416. Inthis example, the data in the external database associated with theerror is left open so that the import operation can be attempted again.Another option in the menu 1416 is deleting the row and logging theerror.

Another option is the use of scripting functions, preferably VBScriptfunctions, which allows addition of custom code or custom logic at theclient site 114 (FIG. 1) without further programming development. AVBScript function window (not shown) is accessible from the applicationoption screen 1100 (FIG. 11) by selecting the Edit button 1106associated with the VBScript Functions field 1108. The use of VBScriptalso allows VBA style functions to be written and added to the APIwizard application. Note that any other scripting language can be used,including JavaScript.

All options required to run the application according to theillustrative embodiment have now been specified. The application nowexecutes according to the user-specified rules and parameters.

FIG. 15 illustrates a services application selection screen 1500. Asshown, the newly created application ClientInfo 1502 appears in the listof service applications. The application is started in the normal way inWindows® NT by selecting the application 1502 and then selecting thestart button 1504.

When running, the application imports the specified data from theexternal database into the local database according to the mappingdesignation discussed with respect to FIGS. 12 and 13.

The application option screen 1100 can be redisplayed while theapplication is running. This behavior is controllable from within thenew Windows®NT service application itself, such as by selecting anddeselecting a check box on a Properties page.

FIG. 16 depicts the table 502 of the external database. See also FIG. 5.As shown in FIG. 16, once the import process is complete, the values inthe Status field 514 of the table 502 have changed to 1, indicating thatthe data from each row has been imported into the local database.

FIG. 17 illustrates a portion of a table 1700 of the local database. Asshown, the data from the external database has been imported and appearstherein under the appropriate field headings.

Thus, in summary, after the user enters the appropriate information inthe fields of the wizard and specifies what is coming into the customerrelationship application or going out of the customer relationshipapplication, the end result is installation of a service application ona server such that the application can be run as a system service thatcan be scheduled or run periodically, not just as a normal program. Thisservice is managed in a normal way, because it is a true operatingsystem service in contrast to a normal program.

While various embodiments have been described above, it should beunderstood that they have been presented by way of example only, and notlimitation. For example, any of the network elements may employ any ofthe desired functionality set forth hereinabove. Thus, the breadth andscope of a preferred embodiment should not be limited by any of theabove-described exemplary embodiments, but should be defined only inaccordance with the following claims and their equivalents.

1.-20. (canceled)
 21. A method for generating a transfer application formanaging network data transfer operations, comprising: displaying ascreen for receiving a designation of a type of application to becreated for the transfer application; displaying a screen for receivinga designation of an origin of the data for the transfer application;displaying a screen for receiving a designation of a destination for thedata for the transfer application, the destination being associated witha customer relationship application that is network-based and accessedfrom a client site; loading metadata from the customer relationshipapplication; generating a mapping for data between the origin of thedata and the destination of the data for the transfer application usingthe loaded metadata from the customer relationship application, whereinthe mapping maps first fields for data at the origin to second fieldsfor the destination and translates first field names of the first fieldsto second field names of the second fields, the second field nameshaving been customized for use by the customer relationship applicationat the client site; associating at least one predetermined rule with themapping for the transfer application using the loaded metadata from thecustomer relationship application, the at least one predetermined rulespecified by the customer relationship application, the at least onepredetermined rule maintaining at least one of referential integrity,one or more required fields, and automatic sequence numbering of thedata mapped from the origin to the destination; associating at least oneuser-specified function with the mapping, the at least oneuser-specified function capable of transforming at least a portion ofdata mapped from the origin to the destination; creating the transferapplication using the mapping, the at least one user-specified function,and the at least one predetermined rule; and displaying a screen forallowing user manipulation of the mapping, wherein a data transferoperation is performed upon execution of the transfer application. 22.The method as recited in claim 21, further comprising specifying aninterval of time that elapses between automatic execution of thetransfer application.
 23. The method as recited in claim 21, wherein thetype of application is at least one of a Structured Query Languageimport application, a Structured Query Language export application, anOpen Database Connectivity import application, an Open DatabaseConnectivity export application, a file import application, a fileexport application, an electronic mail import application, and anelectronic mail export application.
 24. The method as recited in claim21, further comprising receiving a specification of a name for thetransfer application.
 25. The method as recited in claim 21, furthercomprising receiving login information.
 26. The method as recited inclaim 21, further comprising gathering logging information.
 27. Themethod as recited in claim 21, wherein the user manipulation of themapping includes altering the mapping of fields of the destination ofthe data to the fields from the origin of the data.
 28. The method asrecited in claim 27, wherein the altering includes specifying the fieldsto be transferred from the origin of the data.
 29. The method as recitedin claim 27, wherein the altering includes providing the names of thefields from the origin of the data which correspond to selected fieldsof the destination of the data.
 30. The method as recited in claim 27,wherein the altering includes providing the names of the fields from thedestination of the data which correspond to selected fields of theorigin of the data.
 31. The method as recited in claim 27, wherein thealtering includes specifying the fields to be transferred from theorigin of the data.
 32. The method as recited in claim 21, wherein themapping of the fields includes custom fields added at the client site tothe destination.
 33. The method as recited in claim 21, wherein the atleast one user-specified function comprises at least one user-createdscripting function selected from the group consisting of a VB Scriptfunction and a JavaScript function.
 34. The method of claim 21, furthercomprising: receiving the designation of a type of application to becreated for the transfer application; receiving the designation of anorigin of the data for the transfer application; and receiving thedesignation of a destination for the data for the transfer application.35. A program storage device, readable by a programmable control device,comprising instructions stored on the program storage device for causingthe programmable control device to perform a method for generating atransfer application for managing network data transfer operations, themethod comprising: displaying a screen for receiving a designation of atype of application to be created for the transfer application;displaying a screen for receiving a designation of an origin of the datafor the transfer application; displaying a screen for receiving adesignation of a destination for the data for the transfer application,the destination being associated with a customer relationshipapplication that is network-based and accessed from a client site;loading metadata from the customer relationship application; generatinga mapping for data between the origin of the data and the destination ofthe data for the transfer application using the loaded metadata from thecustomer relationship application, wherein the mapping maps first fieldsfor data at the origin to second fields for the destination andtranslates first field names of the first fields to second field namesof the second fields, the second field names having been customized foruse by the customer relationship application at the client site;associating at least one predetermined rule with the mapping for thetransfer application using the loaded metadata from the customerrelationship application, the at least one predetermined rule specifiedby the customer relationship application, the at least one predeterminedrule maintaining at least one of referential integrity, one or morerequired fields, and automatic sequence numbering of the data mappedfrom the origin to the destination; associating at least oneuser-specified function with the mapping, the at least oneuser-specified function capable of transforming at least a portion ofdata mapped from the origin to the destination; creating the transferapplication using the mapping, the at least one user-specified function,and the at least one predetermined rule; and displaying a screen forallowing user manipulation of the mapping, wherein a data transferoperation is performed upon execution of the transfer application. 36.The program storage device as recited in claim 35, wherein the at leastone user-specified function comprises at least one user-createdscripting function selected from the group consisting of a VBScriptfunction and a JavaScript function.
 37. A system for generating atransfer application for managing network data transfer operations,comprising: a processing unit; a display coupled to the processing unit;and a memory coupled to the processing unit, the memory storing programinstructions executable by the processing unit to: display a screen forreceiving a designation of a type of application to be created for thetransfer application; display a screen for receiving a designation of anorigin of the data for the transfer application; display a screen forreceiving a designation for the data for the transfer application, thedestination being associated with a customer relationship applicationthat is network-based and accessed from a client site; loading metadatafrom the customer relationship application; generate a mapping for databetween the origin of the data and the destination of the data for thetransfer application using the loaded metadata from the customerrelationship application, wherein the mapping maps first fields for dataat the origin to second fields for the destination and translates firstfield names of the first fields to second field names of the secondfields, the second field names having been customized for use by thecustomer relationship application at the client site; associate at leastone predetermined rule with the mapping for the transfer applicationusing the loaded metadata from the customer relationship application,the at least one predetermined rule specified by the customerrelationship application, the at least one predetermined rulemaintaining at least one of referential integrity, one or more requiredfields, and automatic sequence numbering of the data mapped from theorigin to the destination; associate at least one user-specifiedfunction with the mapping, the at least one user-specified functioncapable of transforming at least a portion of data mapped from theorigin to the destination; create the transfer application using themapping, the at least one user-specified function, and the at least onepredetermined rule; and display a screen for allowing user manipulationof the mapping, wherein a data transfer operation is performed uponexecution of the transfer application.
 38. The system as recited inclaim 37, wherein the at least one user-specified function comprises atleast one user-created scripting function selected from the groupconsisting of a VBScript function and a JavaScript function.
 39. Amethod for generating a transfer application for managing network datatransfer operations, comprising: receiving a designation of a type ofapplication to be created for the transfer application; receiving aspecification of a name for the transfer application; receiving adesignation of an origin of the data for the transfer application;receiving a designation of a destination for the data for the transferapplication, the destination being associated with a customerrelationship application that is network-based and accessed from aclient site; receiving a designation of an interval of time that elapsesbetween automatic execution of the application; receiving logininformation; gathering logging information; loading metadata from thecustomer relationship application; receiving at least one predeterminedrule for the transfer application using the loaded metadata from thecustomer relationship application, the at least one predetermined rulespecified by the customer relationship application, the at least onepredetermined rule maintaining at least one of referential integrity,one or more required fields, and automatic sequence numbering of thedata mapped from the origin to the destination; receiving at least onescripting function; generating a mapping of fields between the origin ofthe data and the destination of the data for the transfer applicationusing the loaded metadata from the customer relationship application,wherein the mapping of the fields includes custom fields added at theclient site, the custom fields provided to the customer relationshipapplication for execution at the client site; creating the transferapplication using the mapping, the at least one user-specified function,and the at least one predetermined rule, wherein the type of applicationis at least one of a Structured Query Language import application, aStructured Query Language export application, an Open DatabaseConnectivity import application, an Open Database Connectivity exportapplication, a file import application, a file export application, anelectronic mail import application, and an electronic mail exportapplication; allowing user manipulation of the mapping, wherein the usermanipulation of the mapping includes altering the mapping of fields ofthe destination of the data to the fields from the origin of the data;and performing a data transfer operation upon execution of the transferapplication.
 40. The method as recited in claim 39, wherein the alteringincludes specifying the fields to be transferred from the origin of thedata.
 41. The method as recited in claim 39, wherein the alteringincludes providing the names of the fields from the origin of the datawhich correspond to selected fields of the destination of the data. 42.The method as recited in claim 39, wherein the altering includesproviding the names of the fields from the destination of the data whichcorrespond to selected fields of the origin of the data.
 43. The methodas recited in claim 39, wherein the altering includes specifying thefields to be transferred from the origin of the data.
 44. The method asrecited in claim 39, wherein the at least one scripting function isselected from the group consisting of a VBScript function and aJavaScript function.